package com.platform.common.log.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.platform.common.core.annotation.Excel;
import com.platform.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * 业务日志对象 sys_common_oper_log
 *
 * @author platform
 * @date 2023-04-14
 */
@Data
@NoArgsConstructor
public class SysCommonOperLog extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long logid;


    /** 业务类型（数据字典配置） */
    @Excel(name = "业务类型", readConverterExp = "数=据字典配置")
    private String interfaceType;

    /** 关键字 基于日志类型的日志关键字,如果运单日志 则等于单号,航班日志则等于日期+航班号,如果板箱日志则等于日期+航班号+板箱号 */
    @Excel(name = "关键字 基于日志类型的日志关键字,如果运单日志 则等于单号,航班日志则等于日期+航班号,如果板箱日志则等于日期+航班号+板箱号")
    private String logkey;

    /** 其他关键字 可以为日志设置多个关键字,空格分隔 */
    @Excel(name = "其他关键字 可以为日志设置多个关键字,空格分隔")
    private String otherkeys;

    /** 日志时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "日志时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date logtime;

    /** 日志内容 */
    @Excel(name = "日志内容")
    private String logcontent;

    /** 应用编码 */
    @Excel(name = "应用编码")
    private String appCode;

    /** 应用名称 */
    @Excel(name = "应用名称")
    private String appName;

    /** 业务类型名称 */
    @Excel(name = "业务类型名称")
    private String interfaceTypeName;

    public SysCommonOperLog(String interfaceType, String logkey, String otherkeys, Date logtime, String logcontent, String appCode) {
        this.interfaceType = interfaceType;
        this.logkey = logkey;
        this.otherkeys = otherkeys;
        this.logtime = logtime;
        this.logcontent = logcontent;
        this.appCode = appCode;
    }
}
